package com.py.inbound.domain;

import java.math.BigDecimal;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 【请填写功能名称】对象 wh_inventory
 *
 * @author ruoyi
 * @date 2024-12-02
 */
public class WhInventory extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Integer inventoryQueryId;

    /**
     * 商品编号
     */
    @Excel(name = "商品编号")
    private String productCode;

    /**
     * 仓库编号
     */
    @Excel(name = "仓库编号")
    private String warehouseCode;

    /**
     * 当前库存
     */
    @Excel(name = "当前库存")
    private Integer currentInventory;

    /**
     * 库位编号
     */
    @Excel(name = "库位编号")
    private String locationCode;

    /**
     * 库存金额
     */
    @Excel(name = "库存金额")
    private BigDecimal inventoryValue;

    /**
     * 待入库
     */
    @Excel(name = "待入库")
    private Integer pendingIn;

    /**
     * 待出库
     */
    @Excel(name = "待出库")
    private Integer pendingOut;

    /**
     * 可用库存金额
     */
    @Excel(name = "可用库存金额")
    private BigDecimal availableInventoryValue;

    /**
     * 库存上限
     */
    @Excel(name = "库存上限")
    private Integer inventoryUpperLimit;

    /**
     * 库存下限
     */
    @Excel(name = "库存下限")
    private Integer inventoryLowerLimit;
    @Transient
    private Integer productUnit;
    private String productTypeName;
//    private int pageNum;

    public Integer getProductUnit() {
        return productUnit;
    }

    public void setProductUnit(Integer productUnit) {
        this.productUnit = productUnit;
    }

    public String getProductTypeName() {
        return productTypeName;
    }

    public void setProductTypeName(String productTypeName) {
        this.productTypeName = productTypeName;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductModel() {
        return productModel;
    }

    public void setProductModel(String productModel) {
        this.productModel = productModel;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public String getLocationName() {
        return locationName;
    }

    public void setLocationName(String locationName) {
        this.locationName = locationName;
    }

    public String getProductStatus() {
        return productStatus;
    }

    public void setProductStatus(String productStatus) {
        this.productStatus = productStatus;
    }

    @Transient
    private String productName;
    private String productModel;
    private String warehouseName;//扩展字段仓库名称


    private String locationName;

    private String productStatus;

    public void setInventoryQueryId(Integer inventoryQueryId) {
        this.inventoryQueryId = inventoryQueryId;
    }

    public Integer getInventoryQueryId() {
        return inventoryQueryId;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setWarehouseCode(String warehouseCode) {
        this.warehouseCode = warehouseCode;
    }

    public String getWarehouseCode() {
        return warehouseCode;
    }

    public void setCurrentInventory(Integer currentInventory) {
        this.currentInventory = currentInventory;
    }

    public Integer getCurrentInventory() {
        return currentInventory;
    }

    public void setLocationCode(String locationCode) {
        this.locationCode = locationCode;
    }

    public String getLocationCode() {
        return locationCode;
    }

    public void setInventoryValue(BigDecimal inventoryValue) {
        this.inventoryValue = inventoryValue;
    }

    public BigDecimal getInventoryValue() {
        return inventoryValue;
    }

    public void setPendingIn(Integer pendingIn) {
        this.pendingIn = pendingIn;
    }

    public Integer getPendingIn() {
        return pendingIn;
    }

    public void setPendingOut(Integer pendingOut) {
        this.pendingOut = pendingOut;
    }

    public Integer getPendingOut() {
        return pendingOut;
    }

    public void setAvailableInventoryValue(BigDecimal availableInventoryValue) {
        this.availableInventoryValue = availableInventoryValue;
    }

    public BigDecimal getAvailableInventoryValue() {
        return availableInventoryValue;
    }

    public void setInventoryUpperLimit(Integer inventoryUpperLimit) {
        this.inventoryUpperLimit = inventoryUpperLimit;
    }

    public Integer getInventoryUpperLimit() {
        return inventoryUpperLimit;
    }

    public void setInventoryLowerLimit(Integer inventoryLowerLimit) {
        this.inventoryLowerLimit = inventoryLowerLimit;
    }

    public Integer getInventoryLowerLimit() {
        return inventoryLowerLimit;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("inventoryQueryId", getInventoryQueryId())
                .append("productCode", getProductCode())
                .append("warehouseCode", getWarehouseCode())
                .append("currentInventory", getCurrentInventory())
                .append("locationCode", getLocationCode())
                .append("inventoryValue", getInventoryValue())
                .append("pendingIn", getPendingIn())
                .append("pendingOut", getPendingOut())
                .append("availableInventoryValue", getAvailableInventoryValue())
                .append("inventoryUpperLimit", getInventoryUpperLimit())
                .append("inventoryLowerLimit", getInventoryLowerLimit())
                .toString();
    }
}
